package com.xinqi.modules.stats.content.dto.rsp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 课程内容表实体层
 *
 * @author: system
 * @date: 2023/03/09
 */
@Data
@Schema(description = "课程内容表-响应(包含多伦作业)")
public class CourseRepeatContentResult implements Serializable {
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 学校ID
     */
    private Long schoolId;
    /**
     * 课程id
     */
    private Long courseId;
    /**
     * 班级id
     */
    private Long classId;
    /**
     * 课程栏目ID
     */
    private Long contentId;
    /**
     * 课程类型标识 1互动课件 2资料 3作业 4测评 5讨论 6互动视频 7公告 8课堂互动
     */
    private Integer type;
    /**
     * 共几轮
     */
    private Integer repeatDay;
    /**
     * 第几轮
     */
    private Integer repeatedDay;

    /**
     * 是否重复
     */
    private Integer isRepeat;

    /**
     * 作业类型
     */
    private Integer taskType;
    /**
     * 标题
     */
    private String title;
    /**
     * 详情内容
     */
    private String content;
    /**
     * 章节id
     */
    private Long chapterId;
    /**
     * 发布时间
     */
    private LocalDateTime releaseTime;
    /**
     * 发布状态 1未发布 2定时发布 3已发布 4已结束 5已开始
     */
    private Integer status;
    /**
     * 测评是否已结束0未结束，1已结束
     */
    private Integer isExamEnd;

    /**
     * 已完成数量
     */
    private Long completNumber;

    /**
     * 学习中数量
     */
    private Long learningNumber;

    /**
     * 待学习数量
     */
    private Long learnedNumber;

    /**
     * 已批人数
     */
    private Long approvedNumber;

    /**
     * 已交人数
     */
    private Long paidNumber;

    /**
     * 参与人数
     */
    private Long partakeNumber;

    /**
     * 评论数
     */
    private Long commentNumber;

    /**
     * 学生数量
     */
    private Long studentNumber;

    /**
     * 排序
     */
    private Integer sort;
    /**
     * 排序
     */
    private Integer isRead;
    /**
     * 结束时间
     */
    private LocalDateTime endTime;
    /**
     * 开始时间
     */
    private LocalDateTime startTime;

}
